package com.bc.util;

import java.math.BigDecimal;

public class DoubleUtil {
	
	  /**  
     * ��double���ݽ���ȡ����.  
     * @param value  double����.  
     * @param scale  ����λ��(������С��λ��).  
     * @param roundingMode  ����ȡֵ��ʽ.  
     * @return ���ȼ���������.  
     */  
    public static double round(double value, int scale, 
             int roundingMode) {   
        BigDecimal bd = new BigDecimal(value);   
        bd = bd.setScale(scale, roundingMode);   
        double d = bd.doubleValue();   
        bd = null;   
        return d;   
    }   

     /** 
     * double ��� 
     * @param d1 
     * @param d2 
     * @return 
     */ 
    public static double sum(String d1,String d2){ 
        BigDecimal bd1 = new BigDecimal(d1); 
        BigDecimal bd2 = new BigDecimal(d2); 
        return bd1.add(bd2).doubleValue(); 
    } 
    
    /** 
     * double ��� 
     * @param d1 
     * @param d2 
     * @return 
     */ 
    public static double sum(double d1,double d2){ 
        BigDecimal bd1 = new BigDecimal(Double.toString(d1)); 
        BigDecimal bd2 = new BigDecimal(Double.toString(d2)); 
        return bd1.add(bd2).doubleValue(); 
    } 

    /** 
     * double ��� 
     * @param d1 
     * @param d2 
     * @return 
     */ 
    public static double sub(double d1,double d2){ 
        BigDecimal bd1 = new BigDecimal(Double.toString(d1)); 
        BigDecimal bd2 = new BigDecimal(Double.toString(d2)); 
        return bd1.subtract(bd2).doubleValue(); 
    } 
    public static double sub(String d1,String d2){ 
        BigDecimal bd1 = new BigDecimal(d1); 
        BigDecimal bd2 = new BigDecimal(d2); 
        return bd1.subtract(bd2).doubleValue(); 
    } 
    
    public static double pd(String d){
    	return Double.parseDouble(d);
    }


}
